package org.self.service;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jws;

import java.util.Map;

public interface ITokenService {

    /**
     * 创建Token
     *
     * @param maps
     * @param username
     * @param id
     * @return
     */
    String createToken(Map<String, Object> maps, String username, String id);

    /**
     * 解析Token
     *
     * @param token
     * @return
     */
    Jws<Claims> parseToken(String token);

    /**
     * 校验Token
     *
     * @param token
     * @return
     */
    boolean verifyToken(String token);

    /**
     * 刷新Token信息（一次登录token可以保存30天，在此期间内用户再次登录都应刷新token）
     *
     * @param token
     * @return
     */
    String refreshToken(String token);

}
